Multiplanar reformatting is a method commonly known in the art for extracting a 2 dimensional (2D) composite image representing the intersection of one or more reformatting planes and a 3 dimensional (3D) volumetric image. It is a widely and routinely used method for viewing and evaluating 3D slice-based medical images and therefore requires maximal speed for fast interactivity. MPR is a special utilization of a more general technique known in the art as volume rendering.
Similarly, related work in volume rendering is also applicable to MPR. Over the years, various optimization techniques to volume rendering had been proposed. Whereas this invention focuses on memory access efficiency for slice based volumes, the focus of most of these previously described optimization techniques had focused on methods to preprocess data, to skip processing of unnecessary data, or in improvement of graphics hardware utilization. These methods do not address the latency that is caused by the inefficient memory access and cache misses. Besides, most of these techniques can still be use in conjunction with the proposed method described in this invention. A few previously described methods do address the memory access efficiency and cache misses. See, (1) S. Grimm, S. Bruckner, A. Kanitsar, E. Groller “Memory Efficient Acceleration Structures and Techniques for CPU-based Volume Raycasting of Large Data”, Proceedings IEEE/SIGGRAPH Symposium on Volume Visualization and Graphics, pages 1-8. October 2004; (2) B. Mora, J. Jessel, R. Caubet. ‘A New Object Order Ray-casting algorithm’, In Proceedings of IEEE Visualization, pp 107-113, 2002; and (3) G. Knittel ‘The Ultravis system’ In Proceedings of the IEEE Symposium on Volume Visualization pp 71-79, 2000.
The method described by Knittel, however, requires a spread memory layout which requires additional memory up to four times the original volume data that is not acceptable for large input volumes. In the methods described by Grimm et al. and by Mora et al, a change of the sliced-based volume to a bricked volume memory layout is proposed. This is also not a practical approach since the input volume is usually read-only and this change would require an additional large volume allocation.